home *** CD-ROM | disk | FTP | other *** search
/ Gigantic Games 2 / Gigantic Games 2.iso / pc / _a_ / abitur / txt / stundenplan.def < prev    next >
Text File  |  1994-12-23  |  2KB  |  60 lines

  1. DEFINITION MODULE StundenPlan;
  2.  
  3. FROM FaecherNamen IMPORT FaecherTypen;
  4. FROM Intuition IMPORT WindowPtr;
  5.  
  6.  
  7. TYPE
  8.  
  9.      Stunde = RECORD
  10.                Typ      : FaecherTypen;
  11.                Frei     : BOOLEAN;     (* Wenn frei, so ist nix im Plan *)
  12.                MaturFach: BOOLEAN      (* Noten zählen Doppelt *)
  13.             END;
  14.  
  15.  
  16.      StundenPlan = RECORD
  17.                       W: WindowPtr; (* Nil, falls geschlossen *)
  18.                       Bele: ARRAY[0..5],[8..15] OF Stunde
  19.                             (* Alle Stunden werden Zufällig belegt,
  20.                              * frei ist 12-13 Uhr und Mi und Sa Nach-
  21.                              * Mittag.
  22.                              *)
  23.                    END;
  24.  
  25.  
  26. VAR Plaene: ARRAY[1..4] OF StundenPlan;
  27.     Zeit: RECORD
  28.              Tag: INTEGER;
  29.              Stunde: INTEGER
  30.           END;
  31.           (* Wird mit (0,7) Initialisiert. noch nix geschehen *)
  32.  
  33.  
  34. PROCEDURE IncTime;
  35. (* Incrementiert die Zeit. der erste Aufruf setzt also auf Montag
  36.  * Morgen: 8°° Uhr.
  37.  *
  38.  * ist Samstag 11°° schon erreicht, so wird ebenfalls auf Montag morgen
  39.  * 8°° incrementiert, da die Schüler ja repetieren könnten.
  40.  *)
  41.  
  42.  
  43. PROCEDURE GetFach(Jahr: INTEGER): FaecherTypen;
  44. (* Gibt vom aktuellen Jahr das aktuelle Fach zurück.
  45.  * Achtung: vor dem ersten IncTime kommt immer Turnen zurück.
  46.  *)
  47.  
  48.  
  49. PROCEDURE ZeigePlan(Jahr: INTEGER);
  50.    (* Der Plan wird entweder als Fenster geöffnet, oder
  51.     * falls offen, nur die aktuelle Stunde neu gezeichnet.
  52.     *)
  53.  
  54. PROCEDURE ClosePlanFenster(Jahr: INTEGER);
  55.  
  56.  
  57. (* BEGIN: Initialisiere die Stunden zufällig. *)
  58. END StundenPlan.
  59.  
  60.